home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / cut.doc < prev    next >
Text File  |  1995-03-31  |  3KB  |  74 lines

  1. (Comp.sys.handhelds) 
  2. Item: 3649 by colbach at nessie.cs.id.ethz.ch 
  3. Author: [Philippe Colbach] 
  4.   Subj: CUT Program  [also see STRIP on this disk. -jkh-] 
  5.   Date: Tue Jul 09 1991 
  6.  
  7.     Hi! 
  8.  
  9. The following programs cuts all unnecessary RPL structure elements! 
  10. The programs become 10% shorter and quicker. But it will be difficult 
  11. to change cut programs in the editor (you have to put cut elements back, 
  12. otherwise the editor doesn't except the program structure ... ; I never 
  13. wrote a program to do so ...). 
  14.  
  15. CUT program calls OUT-> and ->PRG (contained in the HACKIT library f.e.) 
  16. It cuts: 1. [IF] THEN ELSE END 
  17.          2. DO [UNTIL] END 
  18.          3. Program markers << and >> 
  19.          4. Nullprograms 
  20.  
  21. Example:    << IF THEN DO UNTIL END ELSE END >> 
  22. --CUT-->    THEN DO END ELSE END 
  23.  
  24. --------- 
  25.  
  26.   Resp: 1 of 1 by bson at wheat-chex.ai.mit.edu 
  27. Author: [Jan Brittenson] 
  28.   Date: Tue Jul 09 1991 
  29.  
  30. In a posting of [8 Jul 91 07:15:57 GMT] 
  31.    colbach@nessie.cs.id.ethz.ch (Philippe Colbach) writes: 
  32.  
  33.  > It cuts: 1. [IF] THEN ELSE END 
  34.  >       2. DO [UNTIL] END 
  35.  >         3. Program markers << and >> 
  36.  
  37.    This looks fine. Except if you cut IF, UNTIL, <<, and >>, your 
  38. programs may cease to be interruptable with the ON key. 
  39.  
  40.  >         4. Nullprograms 
  41.  
  42.    Don't remove empty programs. They are likely there for a reason 
  43. (like resetting some of the LAST data if evaluated), or may be used as 
  44. templates by programs that build programs. Removing empty programs is 
  45. comparable to removing empty lists - not a very good thing to do. 
  46.  
  47. While you're at it, you might consider: 
  48.  
  49.         o Applying COLCT to all algebraics (is this wise?) 
  50.  
  51.         o Reducing the size of all binary integers to their 
  52.           minimum 
  53.  
  54.         o Replacing #xxxxx SYSEVAL with the address xxxxx; 
  55.           doesn't Joe Horn's PACK program do this? 
  56.  
  57.         o Apply UNQT to all strings and names 
  58.  
  59.         o If the value of a name is a pointer to ROM (< 70000), 
  60.           replace the name with the pointer; this would allow 
  61.           system RPL loops and constructs to be entered from the 
  62.           keyboard 
  63.  
  64.         o Applying ASCI-> to names that start with percent; e.g. 
  65.           '%CA4B1' becomes SIN 
  66.  
  67.         o Applying CUT recursively on programs and lists 
  68.  
  69. Happy hacking, 
  70.  
  71.                                                 -- Jan Brittenson 
  72.                                                    bson@ai.mit.edu 
  73.  
  74.